#ifndef ADD_SIMULATION_GUARD
#define ADD_SIMULATION_GUARD

#include <vector>
#include <iostream>
#include "sph_vector.h"
#include "move_vector.h"

#define PI 3.1415926536

using namespace std;

// simulation class is constructed with a vector of particle locations
// and then through run() the dynamic system is computed until an equilibrium
// is reached or a set number of iterations is done
class simulation
{
  private:
    vector<sph_vector> pos;
    double maxIter;
	double weight;

	sph_vector nullVector; // initialized as a null vector
    int n; // stores the length of pos for convenience
  public:
	simulation(vector<sph_vector> pos);

	void set_maxIter(double iter);
	double get_maxIter() { return maxIter; }
	vector<sph_vector> get_pos();

	void run();
	
};


#endif
